home *** CD-ROM | disk | FTP | other *** search
-
- PROCEDURE redrawDesk (tree: PtrObjTree,
- index: CARDINAL,
- prevState: OStateSet,
- curState: OStateSet,
- space: Rectangle,
- clip: Rectangle,
- parm: LONGWORD): OStateSet;
- BEGIN
- SetClipping (clip); (* Zeichenbereich auf zerstörten Bereich beschränken *)
- UpdateScreen (* gesamten Schirm neu zeichnen - keine AES-Aufrufe machen! *)
- END redrawDesk;
-
- (* müssen global sein: *)
- VAR carrier: ObjHandler.ProgDefCarrier;
- stack: ARRAY [0..1000] OF CARDINAL;
-
- BEGIN
- (* Desktop auf aktuelle Größe setzen, weil das RSC-Programm einen *)
- (* festen Wert eingesetzt hatte. *)
- devParm:= DeviceParameter (dev);
- ObjHandler.SetCurrObjTree (ResourceAddr (treeRsrc, Desktop), FALSE);
- space:= ObjHandler.ObjectSpace (GEMGlobals.Root);
- space.w:= devParm^.rasterWidth + 1;
- space.h:= devParm^.rasterHeight + 1;
- ObjHandler.SetObjSpace (GEMGlobals.Root, space);
-
- (* Desktop-Update-Routine zuweisen *)
- wsp.bottom:= ADR (stack); wsp.length:= SIZE (stack);
- ObjHandler.MakeProgDefProc (carrier, redrawDesk, wsp);
- ObjHandler.SetProgDefSpec (GEMGlobals.Root, carrier, 0L);
- END
-